package com.fundcrawler.h2;


import java.io.File;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.Locale;

/**
 * @Description: 基本类型默认参数，避免类型转换
 * @Version 1.0, 2021/5/24
 * @Author Tim
 */
public class ArgConstant {
    public static String PROJECT_PATH;
    static {
        String path = ArgConstant.class.getProtectionDomain().getCodeSource().getLocation().getPath();
        try {
            path = java.net.URLDecoder.decode(path, "UTF-8");
            PROJECT_PATH = path.substring(1, path.lastIndexOf("/target/"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        String path1 = System.getProperty("java.class.path");
        int firstIndex = path1.lastIndexOf(System.getProperty("path.separator")) + 1;
        int lastIndex = path1.lastIndexOf(File.separator) + 1;
        path1 = path1.substring(firstIndex, lastIndex);

    }
    public static String PROJECT_JAVA_PATH = PROJECT_PATH+"/src/main/java";
    public static String CLASSPATH_RESOURCE_PATH = PROJECT_PATH+"/src/main/resources";


    public static Byte B=0;
    public static byte[] bytes = null;
    public static Integer I=0;
    public static Long L=0L;
    public static Float F = 0F;
    public static Double D = 0D;
    public static Boolean T = true;
    public static String S = "";
    public static Character C = '0';

    public static Object N = null;

    public static void sysArg(){
        System.getProperty("sun.jnu.encoding"); //  获取操作系统默认编码

        System.getProperty("file.encoding"); // 获取Java文件编码

        Charset.defaultCharset(); //基于System.getProperty("file.encoding")进行改善

                // 其他常见的系统变量说明
        System.getProperty("user.dir"); //用户目录（所有以user.开头的均为用户相关的配置）

        System.getProperty("line.separator"); //换行符 （所有以file.开头的均为文件系统相关）

        char sep = File.separatorChar; //文件分割符

        Locale.getDefault(); //语言环境

        System.getProperty("java.library.path"); //JVM加载类库路径

        System.getProperty("java.version"); //java 版本

        System.getProperty("java.vm.name"); //jvm 名称

        System.getProperty("java.vm.vendor"); //jvm 发行商

        System.getProperty("java.vm.version"); //jvm 版本

        System.getProperty("java.vm.specification.name"); //jvm 规范名称

        System.getProperty("java.vm.specification.vendor"); //jvm 规范供应商

        System.getProperty("java.vm.specification.version"); //jvm 规范版本

        System.getProperty("os.arch"); // 操作系统架构

        System.getProperty("os.name"); //操作系统名称

        System.getProperty("os.os.version"); //操作系统版本
    }

    public static void template(){
        /* step1，数据表*/

        /* step2，controller、service、req、resp*/


        /* step3，枚举、常量、listener、定时器*/



    }

}
